package net.sourceforge.openclixml;

import java.io.Serializable;


/**
 *
 * @version $Revision: 49 $
 * @author dominikjungo
 *
 * Last changed: $Date: 2008-04-09 22:06:24 +0200 (Wed, 09 Apr 2008) $
 * The License for this file can be found in doc/Licenses/license-OpenCliXML.txt
 */
public interface IElement extends Serializable, Cloneable {
    /**
     * Returns the value of the success attribute of an Element. Before the evaluation of the element, this method must return null, since the success attribute must not be set, after evaluation it must correspond to the evaluation result.
     * @return true if the element evaluated to success; false otherwise. The result also might depend on its subtree (children).
     */
    Boolean isSuccess();
    
    /**
     * Sets the child of this element.
     * @param child the element to be set as child of this element
     */
    void setChild(final net.sourceforge.openclixml.autogen.FormulaType child);
    
    /**
     * Sets the child of this element as null. This is like detaching the children
     */
    void setChildNull();
}
